今天的 DSL github 連結
昨天我們做了一個可以根據形容特徵來給出狗狗圖片的機器人,你只要給他一些特徵,他就會幫你分析可能的品種,然後從 Dog CEO 上找到圖片的 URL,今天我們來把它寫成一個聊天工作流,最後加上一些 Dify 內建的聊天功能,讓整個 APP 更完整~
因為我們多了一個輸入,所以要把使用者問的問題放到這個 workflow
然後利用 Http 請求和迭代,來將所有圖片顯示在聊天框框上
不過這邊我還想要為每個出現的狗勾加上品種的名字,而不是只有照片,讓使用者知道牠們是誰,所以在迭代中增加了取得 url 中包含的品種名稱的節點
這邊我順便在一開始將沒有成功取得圖片的字串移除了,為什麼會這樣呢?因為在「隨機拿多張狗勾的照片 URL」那邊的 LLM 表現不如預期,還是會輸出一些不在 breed list 中的品種。不過只要把 not found 的品種字串移除即可
Debug 小技巧:可以透過日誌觀察每次迭代的物件
感覺還是有點單調,加上一個 LLM 來介紹狗狗品種
效果如下
這邊有兩種處理方式,一種是加上 if else 節點,另一種是直接用問題分類器來避免這樣的情形發生
除了告訴你的親朋好友這是一個可以藉由輸入特徵來獲得狗狗品種介紹和圖片的機器人外,我們還可以利用 Dify 內建的功能,新增一些小提示
利用對話開場白來提示使用者要輸入的內容
新增說明,還有提示使用者的輸入
測試一下~效果很讚歐
如果你不希望使用者看到 LLM 工作流的過程,也可以到 Web App 設定把它取消掉
Dify 會根據之前你的提問,來給出下一步建議,但目前這個功能似乎不太穩定,很常出現錯誤
希望有大佬可以幫忙修 ><
基於安全性、使用者體驗、法規等等需求,我們可能會需要用到敏感詞審查功能
可以直接設定你不希望使用者輸入的內容,也可以直接用 OpenAI 的安全審核。(有關安全審核,可以參考官網)
測試一下
內容審查蠻重要的,特別是如果是幫別人做 Chatbot 的開發者,有這樣的功能十分方便。
今天應該是最後一天介紹 Dify 了,我原本想要再用 Dify 做一個記帳小助手 (可以記帳,也可以查詢,搭配 Notion 使用,全程使用自然語言),但發現這樣 Dify 的篇幅好像太多了XD,所以之後應該會介紹其他工具像是專門為 LLM 爬蟲的工具、Prompt injection、OpenAI 最新的動態等等雜七雜八,都是和 LLM 應用相關的,期待一下吧~